import { createStore } from 'vuex'

import cart from './modules/cart'
import category from './modules/category'
import user from './modules/user'

// 引入vuex持久化插件
import createPersistedstate from 'vuex-persistedstate'

// 导出创建的Store对象
export default createStore({
  // 状态变量
  state: {},
  // 计算属性
  getters: {},
  // 同步管家(唯一能修改state的地方)
  mutations: {},
  // 异步管家(调用后台接口, 后调用mutations赋予state值)
  actions: {},
  // 模块
  modules: {
    cart,
    category,
    user
  },
  plugins: [
    // 使用插件
    createPersistedstate({
      // 本地存储key
      key: 'rabbit-store',
      // 存储哪些modules
      paths: ['cart', 'user']
    })
  ]
})
